package com.baizhi.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*
* 查询缓存的注解
* 标注到要查询缓存数据的方法上
* 通常：对数据精准度要求不高  查询频率较高  查询时间较长（如图表）的数据进行缓存处理
* redis缓存中的数据是 redis的key（标注注解的方法所在的类的类名
*                                  这样设计方便对同一个类下的增删改操作时进行统一删除缓存
*                                  而不影响其它缓存数据）
*                     redis的value设计为hashMap，其中：hashKey为标注注解的方法名+参数列表
*                                                      hashMap中的value是标注方法的查询结果
* 即上面的要保存到redis缓存中的三个数据  要么可以通过连接点对象（注解切入点）直接获取
*                                       要么可以从数据库中查询出来  所以当前注解类无需声明属性
*                                       直接使用在要添加该注解的查询方法上面即可
* */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface GetCacheAnnotation {
}
